import fs from 'fs/promises';

// readFile() - Callback 版本
// fs.readFile('./test.txt', 'utf8', (err, data) => {
// if (err) throw err;
// console.log("Callback 版本:");
// console.log(data);
// console.log("====================================");
//});

// readFile() - 同步版本
//const data = fs.readFileSync('./test.txt', 'utf8');
//console.log("同步版本:");
//console.log(data);

//reaFile() - Promise 版本
fs.readFile('./test.txt','utf8')
.then(data => {
    console.log("Promise 版本:");
    console.log(data);
    console.log("====================================");
}).catch(err => {
    console.error(err);
});

//readFile() - Async/Await 版本
const readFile = async () => {
    try {
        const data = await fs.readFile('./test.txt','utf8');
        console.log('Async/Await 版本:');
        console.log(data);
        console.log("====================================");
    } catch(err) {
        console.error(err);
    }
}

//写入文件
const writeFile = async () => {
    try {
        await fs.writeFile('./test.txt','写入文件内容','utf8');
        console.log("写入成功");
    }catch (err) {
        console.error(err);
    }
};

// 追加⽂件
const appendFile = async () => {
    try {
    await fs.appendFile('./test.txt', '\n这是追加⽂件内容', 'utf8');
    console.log("追加成功");
    } catch (err) {
    console.error(err);
    }
   };

writeFile();
appendFile();
readFile();